home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / utils / disk-man / fdformat.000 < prev    next >
Mailbox/MIME Entity  |  1996-11-16  |  4.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Mailbox/MIME Entity (archive/mbox).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Afterlife game data (archive/afterlifeGameData) ext Unsupported
1% dexvert Viacom New Media Sprite Archive (archive/viacomNewMedia) ext Unsupported
1% dexvert GeoWorks GEOS help (document/geoWorksGEOSHelp) ext Unsupported
1% dexvert GeoWorks Writer document (document/geoWorksWriterDocument) ext Unsupported
1% dexvert GeoWorks GeoCalc spreadsheet (document/geoWorksGeoCalcSpreadsheet) ext Unsupported
1% dexvert GeoWorks GeoDraw drawing (image/geoWorksGeoDrawDrawing) ext Unsupported
1% dexvert GeoWorks GEOS background (image/geoWorksGEOSBackground) ext Unsupported
1% dexvert GeoWorks GEOS Data (other/geoWorksGEOSData) ext Unsupported
1% dexvert GeoWorks Writer scrapbook (other/geoWorksWriterScrapbook) ext Unsupported
1% dexvert GeoWorks directory info (other/geoWorksDirectoryInfo) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file Mailbox text, 1st line "From samba!concert!gatech!darwin.sura.net!Sirius.dfn.de!chx400!bernina!almesber Mon Sep 7 17:16:12 EDT 1992" default
99% file C source text default
98% file C source, ASCII text default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 73 61 6d | 62 61 21 63 6f 6e 63 65 |From sam|ba!conce|
|00000010| 72 74 21 67 61 74 65 63 | 68 21 64 61 72 77 69 6e |rt!gatec|h!darwin|
|00000020| 2e 73 75 72 61 2e 6e 65 | 74 21 53 69 72 69 75 73 |.sura.ne|t!Sirius|
|00000030| 2e 64 66 6e 2e 64 65 21 | 63 68 78 34 30 30 21 62 |.dfn.de!|chx400!b|
|00000040| 65 72 6e 69 6e 61 21 61 | 6c 6d 65 73 62 65 72 20 |ernina!a|lmesber |
|00000050| 4d 6f 6e 20 53 65 70 20 | 20 37 20 31 37 3a 31 36 |Mon Sep | 7 17:16|
|00000060| 3a 31 32 20 45 44 54 20 | 31 39 39 32 0a 41 72 74 |:12 EDT |1992.Art|
|00000070| 69 63 6c 65 3a 20 39 38 | 35 34 20 6f 66 20 63 6f |icle: 98|54 of co|
|00000080| 6d 70 2e 6f 73 2e 6c 69 | 6e 75 78 0a 4e 65 77 73 |mp.os.li|nux.News|
|00000090| 67 72 6f 75 70 73 3a 20 | 63 6f 6d 70 2e 6f 73 2e |groups: |comp.os.|
|000000a0| 6c 69 6e 75 78 0a 50 61 | 74 68 3a 20 73 61 6d 62 |linux.Pa|th: samb|
|000000b0| 61 21 63 6f 6e 63 65 72 | 74 21 67 61 74 65 63 68 |a!concer|t!gatech|
|000000c0| 21 64 61 72 77 69 6e 2e | 73 75 72 61 2e 6e 65 74 |!darwin.|sura.net|
|000000d0| 21 53 69 72 69 75 73 2e | 64 66 6e 2e 64 65 21 63 |!Sirius.|dfn.de!c|
|000000e0| 68 78 34 30 30 21 62 65 | 72 6e 69 6e 61 21 61 6c |hx400!be|rnina!al|
|000000f0| 6d 65 73 62 65 72 0a 46 | 72 6f 6d 3a 20 61 6c 6d |mesber.F|rom: alm|
|00000100| 65 73 62 65 72 40 6e 65 | 73 73 69 65 2e 63 73 2e |esber@ne|ssie.cs.|
|00000110| 69 64 2e 65 74 68 7a 2e | 63 68 20 28 57 65 72 6e |id.ethz.|ch (Wern|
|00000120| 65 72 20 41 6c 6d 65 73 | 62 65 72 67 65 72 29 0a |er Almes|berger).|
|00000130| 53 75 62 6a 65 63 74 3a | 20 52 65 3a 20 73 75 69 |Subject:| Re: sui|
|00000140| 64 20 66 6f 72 20 66 64 | 66 6f 72 6d 61 74 3f 0a |d for fd|format?.|
|00000150| 4d 65 73 73 61 67 65 2d | 49 44 3a 20 3c 31 39 39 |Message-|ID: <199|
|00000160| 32 53 65 70 36 2e 31 33 | 30 32 30 37 2e 31 31 34 |2Sep6.13|0207.114|
|00000170| 38 36 40 62 65 72 6e 69 | 6e 61 2e 65 74 68 7a 2e |86@berni|na.ethz.|
|00000180| 63 68 3e 0a 53 65 6e 64 | 65 72 3a 20 6e 65 77 73 |ch>.Send|er: news|
|00000190| 40 62 65 72 6e 69 6e 61 | 2e 65 74 68 7a 2e 63 68 |@bernina|.ethz.ch|
|000001a0| 20 28 55 53 45 4e 45 54 | 20 4e 65 77 73 20 53 79 | (USENET| News Sy|
|000001b0| 73 74 65 6d 29 0a 4f 72 | 67 61 6e 69 7a 61 74 69 |stem).Or|ganizati|
|000001c0| 6f 6e 3a 20 53 77 69 73 | 73 20 46 65 64 65 72 61 |on: Swis|s Federa|
|000001d0| 6c 20 49 6e 73 74 69 74 | 75 74 65 20 6f 66 20 54 |l Instit|ute of T|
|000001e0| 65 63 68 6e 6f 6c 6f 67 | 79 20 28 45 54 48 29 2c |echnolog|y (ETH),|
|000001f0| 20 5a 75 72 69 63 68 2c | 20 43 48 0a 52 65 66 65 | Zurich,| CH.Refe|
|00000200| 72 65 6e 63 65 73 3a 20 | 3c 31 39 39 32 41 75 67 |rences: |<1992Aug|
|00000210| 33 30 2e 30 36 32 34 34 | 34 2e 33 34 36 40 61 74 |30.06244|4.346@at|
|00000220| 68 65 6e 61 2e 6d 69 74 | 2e 65 64 75 3e 0a 44 61 |hena.mit|.edu>.Da|
|00000230| 74 65 3a 20 53 75 6e 2c | 20 36 20 53 65 70 20 31 |te: Sun,| 6 Sep 1|
|00000240| 39 39 32 20 31 33 3a 30 | 32 3a 30 37 20 47 4d 54 |992 13:0|2:07 GMT|
|00000250| 0a 4c 69 6e 65 73 3a 20 | 31 33 36 0a 0a 49 6e 20 |.Lines: |136..In |
|00000260| 61 72 74 69 63 6c 65 20 | 3c 31 39 39 32 41 75 67 |article |<1992Aug|
|00000270| 33 30 2e 30 36 32 34 34 | 34 2e 33 34 36 40 61 74 |30.06244|4.346@at|
|00000280| 68 65 6e 61 2e 6d 69 74 | 2e 65 64 75 3e 20 68 61 |hena.mit|.edu> ha|
|00000290| 6d 6d 6f 6e 64 40 6b 77 | 68 70 63 2e 63 61 73 65 |mmond@kw|hpc.case|
|000002a0| 6e 67 2e 63 6f 6d 20 28 | 4b 65 76 69 6e 20 57 2e |ng.com (|Kevin W.|
|000002b0| 20 48 61 6d 6d 6f 6e 64 | 29 20 77 72 69 74 65 73 | Hammond|) writes|
|000002c0| 3a 0a 3e 20 53 68 6f 75 | 6c 64 20 66 64 66 6f 72 |:.> Shou|ld fdfor|
|000002d0| 6d 61 74 20 62 65 20 69 | 6e 73 74 61 6c 6c 65 64 |mat be i|nstalled|
|000002e0| 20 61 73 20 61 20 73 75 | 69 64 20 70 72 6f 67 72 | as a su|id progr|
|000002f0| 61 6d 20 73 6f 20 72 65 | 67 75 6c 61 72 20 75 73 |am so re|gular us|
|00000300| 65 72 73 20 63 61 6e 20 | 66 6f 72 6d 61 74 0a 3e |ers can |format.>|
|00000310| 20 66 6c 6f 70 70 69 65 | 73 2c 20 6f 72 20 69 73 | floppie|s, or is|
|00000320| 20 69 74 20 6d 6f 72 65 | 20 74 79 70 69 63 61 6c | it more| typical|
|00000330| 6c 79 20 66 6f 75 6e 64 | 20 69 6e 73 74 61 6c 6c |ly found| install|
|00000340| 65 64 20 73 6f 20 6f 6e | 6c 79 20 72 6f 6f 74 20 |ed so on|ly root |
|00000350| 63 61 6e 20 66 6f 72 6d | 61 74 0a 3e 20 66 6c 6f |can form|at.> flo|
|00000360| 70 70 69 65 73 3f 0a 0a | 49 74 20 64 65 70 65 6e |ppies?..|It depen|
|00000370| 64 73 2e 20 46 6f 72 6d | 61 74 74 69 6e 67 20 69 |ds. Form|atting i|
|00000380| 73 20 69 6e 68 65 72 65 | 6e 74 6c 79 20 6d 6f 72 |s inhere|ntly mor|
|00000390| 65 20 74 69 6d 69 6e 67 | 2d 63 72 69 74 69 63 61 |e timing|-critica|
|000003a0| 6c 20 74 68 61 6e 20 72 | 65 67 75 6c 61 72 0a 66 |l than r|egular.f|
|000003b0| 6c 6f 70 70 79 20 61 63 | 63 65 73 73 65 73 20 62 |loppy ac|cesses b|
|000003c0| 65 63 61 75 73 65 20 73 | 6f 6d 65 20 65 72 72 6f |ecause s|ome erro|
|000003d0| 72 73 20 63 61 6e 20 6f | 6e 6c 79 20 62 65 20 64 |rs can o|nly be d|
|000003e0| 65 74 65 63 74 65 64 20 | 69 6e 20 74 68 65 0a 76 |etected |in the.v|
|000003f0| 65 72 69 66 69 63 61 74 | 69 6f 6e 20 70 61 73 73 |erificat|ion pass|
|00000400| 2e 20 54 68 65 72 65 66 | 6f 72 65 2c 20 69 74 27 |. Theref|ore, it'|
|00000410| 73 20 63 6f 6e 73 69 64 | 65 72 65 64 20 61 6e 20 |s consid|ered an |
|00000420| 6f 70 65 72 61 74 69 6f | 6e 20 74 68 61 74 20 6e |operatio|n that n|
|00000430| 65 65 64 73 0a 73 6f 6d | 65 20 61 77 61 72 65 6e |eeds.som|e awaren|
|00000440| 65 73 73 20 6f 6e 20 74 | 68 65 20 75 73 65 72 27 |ess on t|he user'|
|00000450| 73 20 70 61 72 74 2e 0a | 0a 49 66 20 79 6f 75 20 |s part..|.If you |
|00000460| 63 61 6e 20 6c 69 76 65 | 20 77 69 74 68 20 75 73 |can live| with us|
|00000470| 65 72 73 20 63 72 65 61 | 74 69 6e 67 20 62 61 64 |ers crea|ting bad|
|00000480| 20 6d 65 64 69 61 20 6f | 6e 20 61 20 6c 6f 61 64 | media o|n a load|
|00000490| 65 64 20 73 79 73 74 65 | 6d 2c 0a 72 75 6e 6e 69 |ed syste|m,.runni|
|000004a0| 6e 67 20 66 64 66 6f 72 | 6d 61 74 20 73 75 69 64 |ng fdfor|mat suid|
|000004b0| 20 69 73 6e 27 74 20 61 | 20 70 72 6f 62 6c 65 6d | isn't a| problem|
|000004c0| 2e 20 48 6f 77 65 76 65 | 72 2c 20 79 6f 75 20 73 |. Howeve|r, you s|
|000004d0| 68 6f 75 6c 64 20 75 73 | 65 20 74 68 65 0a 73 6c |hould us|e the.sl|
|000004e0| 69 67 68 74 6c 79 20 6d | 6f 64 69 66 69 65 64 20 |ightly m|odified |
|000004f0| 76 65 72 73 69 6f 6e 20 | 49 27 76 65 20 61 70 70 |version |I've app|
|00000500| 65 6e 64 65 64 20 74 6f | 20 74 68 69 73 20 70 6f |ended to| this po|
|00000510| 73 74 69 6e 67 2e 20 49 | 74 20 61 73 73 75 72 65 |sting. I|t assure|
|00000520| 73 0a 74 68 61 74 20 6f | 6e 6c 79 20 66 6c 6f 70 |s.that o|nly flop|
|00000530| 70 79 20 64 65 76 69 63 | 65 73 20 63 61 6e 20 62 |py devic|es can b|
|00000540| 65 20 66 6f 72 6d 61 74 | 74 65 64 20 28 74 68 65 |e format|ted (the|
|00000550| 20 69 6f 63 74 6c 73 20 | 6d 61 79 20 68 61 76 65 | ioctls |may have|
|00000560| 20 73 6f 6d 65 0a 72 61 | 6e 64 6f 6d 20 65 66 66 | some.ra|ndom eff|
|00000570| 65 63 74 20 6f 6e 20 6f | 74 68 65 72 20 64 65 76 |ect on o|ther dev|
|00000580| 69 63 65 73 29 20 61 6e | 64 20 6f 6e 6c 79 20 69 |ices) an|d only i|
|00000590| 66 20 74 68 65 20 75 73 | 65 72 20 68 61 73 20 77 |f the us|er has w|
|000005a0| 72 69 74 65 20 61 63 63 | 65 73 73 0a 74 6f 20 74 |rite acc|ess.to t|
|000005b0| 68 65 6d 2e 0a 0a 2d 20 | 57 65 72 6e 65 72 0a 0a |hem...- |Werner..|
|000005c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005e0| 2d 2d 20 63 75 74 20 68 | 65 72 65 20 2d 2d 2d 2d |-- cut h|ere ----|
|000005f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0a |--------|-------.|
|00000610| 0a 2f 2a 20 66 64 66 6f | 72 6d 61 74 2e 63 20 20 |./* fdfo|rmat.c |
|00000620| 2d 20 20 4c 6f 77 2d 6c | 65 76 65 6c 20 66 6f 72 |- Low-l|evel for|
|00000630| 6d 61 74 73 20 61 20 66 | 6c 6f 70 70 79 20 64 69 |mats a f|loppy di|
|00000640| 73 6b 2e 20 2a 2f 0a 0a | 23 69 6e 63 6c 75 64 65 |sk. */..|#include|
|00000650| 20 3c 75 6e 69 73 74 64 | 2e 68 3e 0a 23 69 6e 63 | <unistd|.h>.#inc|
|00000660| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 0a 23 |lude <st|dio.h>.#|
|00000670| 69 6e 63 6c 75 64 65 20 | 3c 73 74 72 69 6e 67 2e |include |<string.|
|00000680| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 66 63 6e |h>.#incl|ude <fcn|
|00000690| 74 6c 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |tl.h>.#i|nclude <|
|000006a0| 65 72 72 6e 6f 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |errno.h>|.#includ|
|000006b0| 65 20 3c 73 79 73 2f 73 | 74 61 74 2e 68 3e 0a 23 |e <sys/s|tat.h>.#|
|000006c0| 69 6e 63 6c 75 64 65 20 | 3c 6c 69 6e 75 78 2f 66 |include |<linux/f|
|000006d0| 64 2e 68 3e 0a 0a 0a 73 | 74 61 74 69 63 20 69 6e |d.h>...s|tatic in|
|000006e0| 74 20 63 74 72 6c 3b 0a | 73 74 72 75 63 74 20 66 |t ctrl;.|struct f|
|000006f0| 6c 6f 70 70 79 5f 73 74 | 72 75 63 74 20 70 61 72 |loppy_st|ruct par|
|00000700| 61 6d 3b 0a 0a 0a 23 64 | 65 66 69 6e 65 20 46 4c |am;...#d|efine FL|
|00000710| 4f 50 50 59 5f 4d 41 4a | 4f 52 20 32 0a 23 64 65 |OPPY_MAJ|OR 2.#de|
|00000720| 66 69 6e 65 20 53 45 43 | 54 4f 52 5f 53 49 5a 45 |fine SEC|TOR_SIZE|
|00000730| 20 35 31 32 0a 23 64 65 | 66 69 6e 65 20 50 45 52 | 512.#de|fine PER|
|00000740| 52 4f 52 28 6d 73 67 29 | 20 7b 20 70 65 72 72 6f |ROR(msg)| { perro|
|00000750| 72 28 6d 73 67 29 3b 20 | 65 78 69 74 28 31 29 3b |r(msg); |exit(1);|
|00000760| 20 7d 0a 0a 0a 73 74 61 | 74 69 63 20 76 6f 69 64 | }...sta|tic void|
|00000770| 20 66 6f 72 6d 61 74 5f | 64 69 73 6b 28 63 68 61 | format_|disk(cha|
|00000780| 72 20 2a 6e 61 6d 65 29 | 0a 7b 0a 20 20 20 20 73 |r *name)|.{. s|
|00000790| 74 72 75 63 74 20 66 6f | 72 6d 61 74 5f 64 65 73 |truct fo|rmat_des|
|000007a0| 63 72 20 64 65 73 63 72 | 3b 0a 20 20 20 20 69 6e |cr descr|;. in|
|000007b0| 74 20 74 72 61 63 6b 3b | 0a 20 20 20 20 63 68 61 |t track;|. cha|
|000007c0| 72 20 64 75 6d 6d 79 3b | 0a 0a 20 20 20 20 70 72 |r dummy;|.. pr|
|000007d0| 69 6e 74 66 28 22 46 6f | 72 6d 61 74 74 69 6e 67 |intf("Fo|rmatting|
|000007e0| 20 2e 2e 2e 20 22 29 3b | 0a 20 20 20 20 66 66 6c | ... ");|. ffl|
|000007f0| 75 73 68 28 73 74 64 6f | 75 74 29 3b 0a 20 20 20 |ush(stdo|ut);. |
|00000800| 20 69 66 20 28 69 6f 63 | 74 6c 28 63 74 72 6c 2c | if (ioc|tl(ctrl,|
|00000810| 46 44 46 4d 54 42 45 47 | 2c 4e 55 4c 4c 29 20 3c |FDFMTBEG|,NULL) <|
|00000820| 20 30 29 20 50 45 52 52 | 4f 52 28 22 5c 6e 69 6f | 0) PERR|OR("\nio|
|00000830| 63 74 6c 28 46 44 46 4d | 54 42 45 47 29 22 29 3b |ctl(FDFM|TBEG)");|
|00000840| 0a 20 20 20 20 66 6f 72 | 20 28 74 72 61 63 6b 20 |. for| (track |
|00000850| 3d 20 30 3b 20 74 72 61 | 63 6b 20 3c 20 70 61 72 |= 0; tra|ck < par|
|00000860| 61 6d 2e 74 72 61 63 6b | 3b 20 74 72 61 63 6b 2b |am.track|; track+|
|00000870| 2b 29 20 7b 0a 09 64 65 | 73 63 72 2e 74 72 61 63 |+) {..de|scr.trac|
|00000880| 6b 20 3d 20 74 72 61 63 | 6b 3b 0a 09 64 65 73 63 |k = trac|k;..desc|
|00000890| 72 2e 68 65 61 64 20 3d | 20 30 3b 0a 09 69 66 20 |r.head =| 0;..if |
|000008a0| 28 69 6f 63 74 6c 28 63 | 74 72 6c 2c 46 44 46 4d |(ioctl(c|trl,FDFM|
|000008b0| 54 54 52 4b 2c 28 69 6e | 74 29 20 26 64 65 73 63 |TTRK,(in|t) &desc|
|000008c0| 72 29 20 3c 20 30 29 20 | 50 45 52 52 4f 52 28 22 |r) < 0) |PERROR("|
|000008d0| 5c 6e 69 6f 63 74 6c 28 | 46 44 46 4d 54 54 52 4b |\nioctl(|FDFMTTRK|
|000008e0| 29 22 29 3b 0a 09 70 72 | 69 6e 74 66 28 22 25 33 |)");..pr|intf("%3|
|000008f0| 64 5c 62 5c 62 5c 62 22 | 2c 74 72 61 63 6b 29 3b |d\b\b\b"|,track);|
|00000900| 0a 09 66 66 6c 75 73 68 | 28 73 74 64 6f 75 74 29 |..fflush|(stdout)|
|00000910| 3b 0a 09 69 66 20 28 70 | 61 72 61 6d 2e 68 65 61 |;..if (p|aram.hea|
|00000920| 64 20 3d 3d 20 32 29 20 | 7b 0a 09 20 20 20 20 64 |d == 2) |{.. d|
|00000930| 65 73 63 72 2e 68 65 61 | 64 20 3d 20 31 3b 0a 09 |escr.hea|d = 1;..|
|00000940| 20 20 20 20 69 66 20 28 | 69 6f 63 74 6c 28 63 74 | if (|ioctl(ct|
|00000950| 72 6c 2c 46 44 46 4d 54 | 54 52 4b 2c 28 69 6e 74 |rl,FDFMT|TRK,(int|
|00000960| 29 20 26 64 65 73 63 72 | 29 20 3c 20 30 29 0a 09 |) &descr|) < 0)..|
|00000970| 09 50 45 52 52 4f 52 28 | 22 5c 6e 69 6f 63 74 6c |.PERROR(|"\nioctl|
|00000980| 28 46 44 46 4d 54 54 52 | 4b 29 22 29 3b 0a 09 7d |(FDFMTTR|K)");..}|
|00000990| 0a 20 20 20 20 7d 0a 20 | 20 20 20 69 66 20 28 69 |. }. | if (i|
|000009a0| 6f 63 74 6c 28 63 74 72 | 6c 2c 46 44 46 4d 54 45 |octl(ctr|l,FDFMTE|
|000009b0| 4e 44 2c 4e 55 4c 4c 29 | 20 3c 20 30 29 20 50 45 |ND,NULL)| < 0) PE|
|000009c0| 52 52 4f 52 28 22 5c 6e | 69 6f 63 74 6c 28 46 44 |RROR("\n|ioctl(FD|
|000009d0| 46 4d 54 45 4e 44 29 22 | 29 3b 0a 20 20 20 20 70 |FMTEND)"|);. p|
|000009e0| 72 69 6e 74 66 28 22 64 | 6f 6e 65 5c 6e 22 29 3b |rintf("d|one\n");|
|000009f0| 0a 7d 0a 0a 0a 73 74 61 | 74 69 63 20 76 6f 69 64 |.}...sta|tic void|
|00000a00| 20 76 65 72 69 66 79 5f | 64 69 73 6b 28 63 68 61 | verify_|disk(cha|
|00000a10| 72 20 2a 6e 61 6d 65 29 | 0a 7b 0a 20 20 20 20 75 |r *name)|.{. u|
|00000a20| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 64 61 |nsigned |char *da|
|00000a30| 74 61 3b 0a 20 20 20 20 | 69 6e 74 20 66 64 2c 63 |ta;. |int fd,c|
|00000a40| 79 6c 5f 73 69 7a 65 2c | 63 79 6c 2c 63 6f 75 6e |yl_size,|cyl,coun|
|00000a50| 74 3b 0a 0a 20 20 20 20 | 63 79 6c 5f 73 69 7a 65 |t;.. |cyl_size|
|00000a60| 20 3d 20 70 61 72 61 6d | 2e 73 65 63 74 2a 70 61 | = param|.sect*pa|
|00000a70| 72 61 6d 2e 68 65 61 64 | 2a 35 31 32 3b 0a 20 20 |ram.head|*512;. |
|00000a80| 20 20 69 66 20 28 28 64 | 61 74 61 20 3d 20 28 75 | if ((d|ata = (u|
|00000a90| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 29 20 |nsigned |char *) |
|00000aa0| 6d 61 6c 6c 6f 63 28 63 | 79 6c 5f 73 69 7a 65 29 |malloc(c|yl_size)|
|00000ab0| 29 20 3d 3d 20 4e 55 4c | 4c 29 20 50 45 52 52 4f |) == NUL|L) PERRO|
|00000ac0| 52 28 22 6d 61 6c 6c 6f | 63 22 29 3b 0a 20 20 20 |R("mallo|c");. |
|00000ad0| 20 70 72 69 6e 74 66 28 | 22 56 65 72 69 66 79 69 | printf(|"Verifyi|
|00000ae0| 6e 67 20 2e 2e 2e 20 22 | 29 3b 0a 20 20 20 20 66 |ng ... "|);. f|
|00000af0| 66 6c 75 73 68 28 73 74 | 64 6f 75 74 29 3b 0a 20 |flush(st|dout);. |
|00000b00| 20 20 20 69 66 20 28 28 | 66 64 20 3d 20 6f 70 65 | if ((|fd = ope|
|00000b10| 6e 28 6e 61 6d 65 2c 4f | 5f 52 44 4f 4e 4c 59 29 |n(name,O|_RDONLY)|
|00000b20| 29 20 3c 20 30 29 20 50 | 45 52 52 4f 52 28 6e 61 |) < 0) P|ERROR(na|
|00000b30| 6d 65 29 3b 0a 20 20 20 | 20 66 6f 72 20 28 63 79 |me);. | for (cy|
|00000b40| 6c 20 3d 20 30 3b 20 63 | 79 6c 20 3c 20 70 61 72 |l = 0; c|yl < par|
|00000b50| 61 6d 2e 74 72 61 63 6b | 3b 20 63 79 6c 2b 2b 29 |am.track|; cyl++)|
|00000b60| 20 7b 0a 09 70 72 69 6e | 74 66 28 22 25 33 64 5c | {..prin|tf("%3d\|
|00000b70| 62 5c 62 5c 62 22 2c 63 | 79 6c 29 3b 0a 09 66 66 |b\b\b",c|yl);..ff|
|00000b80| 6c 75 73 68 28 73 74 64 | 6f 75 74 29 3b 0a 09 69 |lush(std|out);..i|
|00000b90| 66 20 28 72 65 61 64 28 | 66 64 2c 64 61 74 61 2c |f (read(|fd,data,|
|00000ba0| 63 79 6c 5f 73 69 7a 65 | 29 20 21 3d 20 63 79 6c |cyl_size|) != cyl|
|00000bb0| 5f 73 69 7a 65 29 20 50 | 45 52 52 4f 52 28 22 72 |_size) P|ERROR("r|
|00000bc0| 65 61 64 22 29 3b 0a 09 | 66 6f 72 20 28 63 6f 75 |ead");..|for (cou|
|00000bd0| 6e 74 20 3d 20 30 3b 20 | 63 6f 75 6e 74 20 3c 20 |nt = 0; |count < |
|00000be0| 63 79 6c 5f 73 69 7a 65 | 3b 20 63 6f 75 6e 74 2b |cyl_size|; count+|
|00000bf0| 2b 29 0a 09 20 20 20 20 | 69 66 20 28 64 61 74 61 |+).. |if (data|
|00000c00| 5b 63 6f 75 6e 74 5d 20 | 21 3d 20 46 44 5f 46 49 |[count] |!= FD_FI|
|00000c10| 4c 4c 5f 42 59 54 45 29 | 20 7b 0a 09 09 70 72 69 |LL_BYTE)| {...pri|
|00000c20| 6e 74 66 28 22 62 61 64 | 20 64 61 74 61 20 69 6e |ntf("bad| data in|
|00000c30| 20 63 79 6c 20 25 64 5c | 6e 43 6f 6e 74 69 6e 75 | cyl %d\|nContinu|
|00000c40| 69 6e 67 20 2e 2e 2e 20 | 22 2c 63 79 6c 29 3b 0a |ing ... |",cyl);.|
|00000c50| 09 09 66 66 6c 75 73 68 | 28 73 74 64 6f 75 74 29 |..fflush|(stdout)|
|00000c60| 3b 0a 09 09 62 72 65 61 | 6b 3b 0a 09 20 20 20 20 |;...brea|k;.. |
|00000c70| 7d 0a 20 20 20 20 7d 0a | 20 20 20 20 70 72 69 6e |}. }.| prin|
|00000c80| 74 66 28 22 64 6f 6e 65 | 5c 6e 22 29 3b 0a 20 20 |tf("done|\n");. |
|00000c90| 20 20 69 66 20 28 63 6c | 6f 73 65 28 66 64 29 20 | if (cl|ose(fd) |
|00000ca0| 3c 20 30 29 20 50 45 52 | 52 4f 52 28 22 63 6c 6f |< 0) PER|ROR("clo|
|00000cb0| 73 65 22 29 3b 0a 7d 0a | 0a 0a 73 74 61 74 69 63 |se");.}.|..static|
|00000cc0| 20 76 6f 69 64 20 75 73 | 61 67 65 28 63 68 61 72 | void us|age(char|
|00000cd0| 20 2a 6e 61 6d 65 29 0a | 7b 0a 20 20 20 20 63 68 | *name).|{. ch|
|00000ce0| 61 72 20 2a 74 68 69 73 | 3b 0a 0a 20 20 20 20 69 |ar *this|;.. i|
|00000cf0| 66 20 28 74 68 69 73 20 | 3d 20 73 74 72 72 63 68 |f (this |= strrch|
|00000d00| 72 28 6e 61 6d 65 2c 27 | 2f 27 29 29 20 6e 61 6d |r(name,'|/')) nam|
|00000d10| 65 20 3d 20 74 68 69 73 | 2b 31 3b 0a 20 20 20 20 |e = this|+1;. |
|00000d20| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 22 |fprintf(|stderr,"|
|00000d30| 75 73 61 67 65 3a 20 25 | 73 20 5b 20 2d 6e 20 5d |usage: %|s [ -n ]|
|00000d40| 20 64 65 76 69 63 65 5c | 6e 22 2c 6e 61 6d 65 29 | device\|n",name)|
|00000d50| 3b 0a 20 20 20 20 65 78 | 69 74 28 31 29 3b 0a 7d |;. ex|it(1);.}|
|00000d60| 0a 0a 0a 6d 61 69 6e 28 | 69 6e 74 20 61 72 67 63 |...main(|int argc|
|00000d70| 2c 63 68 61 72 20 2a 2a | 61 72 67 76 29 0a 7b 0a |,char **|argv).{.|
|00000d80| 20 20 20 20 69 6e 74 20 | 76 65 72 69 66 79 3b 0a | int |verify;.|
|00000d90| 20 20 20 20 63 68 61 72 | 20 2a 6e 61 6d 65 3b 0a | char| *name;.|
|00000da0| 20 20 20 20 73 74 72 75 | 63 74 20 73 74 61 74 20 | stru|ct stat |
|00000db0| 73 74 3b 0a 0a 20 20 20 | 20 6e 61 6d 65 20 3d 20 |st;.. | name = |
|00000dc0| 61 72 67 76 5b 30 5d 3b | 0a 20 20 20 20 76 65 72 |argv[0];|. ver|
|00000dd0| 69 66 79 20 3d 20 31 3b | 0a 20 20 20 20 69 66 20 |ify = 1;|. if |
|00000de0| 28 61 72 67 63 20 3e 20 | 31 20 26 26 20 61 72 67 |(argc > |1 && arg|
|00000df0| 76 5b 31 5d 5b 30 5d 20 | 3d 3d 20 27 2d 27 29 20 |v[1][0] |== '-') |
|00000e00| 7b 0a 09 69 66 20 28 61 | 72 67 76 5b 31 5d 5b 31 |{..if (a|rgv[1][1|
|00000e10| 5d 20 21 3d 20 27 6e 27 | 29 20 75 73 61 67 65 28 |] != 'n'|) usage(|
|00000e20| 6e 61 6d 65 29 3b 0a 09 | 76 65 72 69 66 79 20 3d |name);..|verify =|
|00000e30| 20 30 3b 0a 09 61 72 67 | 63 2d 2d 3b 0a 09 61 72 | 0;..arg|c--;..ar|
|00000e40| 67 76 2b 2b 3b 0a 20 20 | 20 20 7d 0a 20 20 20 20 |gv++;. | }. |
|00000e50| 69 66 20 28 61 72 67 63 | 20 21 3d 20 32 29 20 75 |if (argc| != 2) u|
|00000e60| 73 61 67 65 28 6e 61 6d | 65 29 3b 0a 20 20 20 20 |sage(nam|e);. |
|00000e70| 69 66 20 28 6c 73 74 61 | 74 28 61 72 67 76 5b 31 |if (lsta|t(argv[1|
|00000e80| 5d 2c 26 73 74 29 20 3c | 20 30 29 20 50 45 52 52 |],&st) <| 0) PERR|
|00000e90| 4f 52 28 61 72 67 76 5b | 31 5d 29 3b 0a 20 20 20 |OR(argv[|1]);. |
|00000ea0| 20 69 66 20 28 21 53 5f | 49 53 42 4c 4b 28 73 74 | if (!S_|ISBLK(st|
|00000eb0| 2e 73 74 5f 6d 6f 64 65 | 29 20 7c 7c 20 73 74 2e |.st_mode|) || st.|
|00000ec0| 73 74 5f 72 64 65 76 20 | 3e 3e 20 38 20 21 3d 20 |st_rdev |>> 8 != |
|00000ed0| 46 4c 4f 50 50 59 5f 4d | 41 4a 4f 52 29 20 7b 0a |FLOPPY_M|AJOR) {.|
|00000ee0| 09 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c |.fprintf|(stderr,|
|00000ef0| 22 25 73 3a 20 6e 6f 74 | 20 61 20 66 6c 6f 70 70 |"%s: not| a flopp|
|00000f00| 79 20 64 65 76 69 63 65 | 5c 6e 22 2c 61 72 67 76 |y device|\n",argv|
|00000f10| 5b 31 5d 29 3b 0a 09 65 | 78 69 74 28 31 29 3b 0a |[1]);..e|xit(1);.|
|00000f20| 20 20 20 20 7d 0a 20 20 | 20 20 69 66 20 28 61 63 | }. | if (ac|
|00000f30| 63 65 73 73 28 61 72 67 | 76 5b 31 5d 2c 57 5f 4f |cess(arg|v[1],W_O|
|00000f40| 4b 29 20 3c 20 30 29 20 | 50 45 52 52 4f 52 28 61 |K) < 0) |PERROR(a|
|00000f50| 72 67 76 5b 31 5d 29 3b | 0a 20 20 20 20 69 66 20 |rgv[1]);|. if |
|00000f60| 28 28 63 74 72 6c 20 3d | 20 6f 70 65 6e 28 61 72 |((ctrl =| open(ar|
|00000f70| 67 76 5b 31 5d 2c 33 29 | 29 20 3c 20 30 29 20 50 |gv[1],3)|) < 0) P|
|00000f80| 45 52 52 4f 52 28 61 72 | 67 76 5b 31 5d 29 3b 0a |ERROR(ar|gv[1]);.|
|00000f90| 20 20 20 20 69 66 20 28 | 69 6f 63 74 6c 28 63 74 | if (|ioctl(ct|
|00000fa0| 72 6c 2c 46 44 47 45 54 | 50 52 4d 2c 28 69 6e 74 |rl,FDGET|PRM,(int|
|00000fb0| 29 20 26 70 61 72 61 6d | 29 20 3c 20 30 29 20 50 |) &param|) < 0) P|
|00000fc0| 45 52 52 4f 52 28 22 69 | 6f 63 74 6c 28 46 44 47 |ERROR("i|octl(FDG|
|00000fd0| 45 54 50 52 4d 29 22 29 | 3b 0a 20 20 20 20 70 72 |ETPRM)")|;. pr|
|00000fe0| 69 6e 74 66 28 22 25 73 | 6c 65 2d 73 69 64 65 64 |intf("%s|le-sided|
|00000ff0| 2c 20 25 64 20 74 72 61 | 63 6b 73 2c 20 25 64 20 |, %d tra|cks, %d |
|00001000| 73 65 63 2f 74 72 61 63 | 6b 2e 20 54 6f 74 61 6c |sec/trac|k. Total|
|00001010| 20 63 61 70 61 63 69 74 | 79 20 25 64 20 6b 42 2e | capacit|y %d kB.|
|00001020| 5c 6e 22 2c 0a 20 20 20 | 20 20 20 70 61 72 61 6d |\n",. | param|
|00001030| 2e 68 65 61 64 20 3f 20 | 22 44 6f 75 62 22 20 3a |.head ? |"Doub" :|
|00001040| 20 22 53 69 6e 67 22 2c | 70 61 72 61 6d 2e 74 72 | "Sing",|param.tr|
|00001050| 61 63 6b 2c 70 61 72 61 | 6d 2e 73 65 63 74 2c 70 |ack,para|m.sect,p|
|00001060| 61 72 61 6d 2e 73 69 7a | 65 20 3e 3e 20 31 29 3b |aram.siz|e >> 1);|
|00001070| 0a 20 20 20 20 66 6f 72 | 6d 61 74 5f 64 69 73 6b |. for|mat_disk|
|00001080| 28 61 72 67 76 5b 31 5d | 29 3b 0a 20 20 20 20 69 |(argv[1]|);. i|
|00001090| 66 20 28 76 65 72 69 66 | 79 29 20 76 65 72 69 66 |f (verif|y) verif|
|000010a0| 79 5f 64 69 73 6b 28 61 | 72 67 76 5b 31 5d 29 3b |y_disk(a|rgv[1]);|
|000010b0| 0a 7d 0a 2d 2d 20 0a 20 | 20 20 5f 5f 5f 5f 5f 5f |.}.-- . | ______|
|000010c0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000010d0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000010e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000010f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001100| 5f 5f 5f 0a 20 20 2f 20 | 57 65 72 6e 65 72 20 41 |___. / |Werner A|
|00001110| 6c 6d 65 73 62 65 72 67 | 65 72 2c 20 45 54 48 20 |lmesberg|er, ETH |
|00001120| 5a 75 65 72 69 63 68 2c | 20 43 48 20 20 20 20 20 |Zuerich,| CH |
|00001130| 20 61 6c 6d 65 73 62 65 | 72 40 6e 65 73 73 69 65 | almesbe|r@nessie|
|00001140| 2e 63 73 2e 69 64 2e 65 | 74 68 7a 2e 63 68 20 2f |.cs.id.e|thz.ch /|
|00001150| 0a 20 2f 20 49 46 57 20 | 41 34 34 20 20 54 65 6c |. / IFW |A44 Tel|
|00001160| 2e 20 2b 34 31 20 31 20 | 32 35 34 20 37 32 31 33 |. +41 1 |254 7213|
|00001170| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001180| 20 61 6c 6d 65 73 62 65 | 72 67 65 72 40 72 7a 76 | almesbe|rger@rzv|
|00001190| 61 78 2e 65 74 68 7a 2e | 63 68 20 2f 0a 2f 5f 42 |ax.ethz.|ch /./_B|
|000011a0| 49 54 4e 45 54 3a 5f 41 | 4c 4d 45 53 42 45 52 40 |ITNET:_A|LMESBER@|
|000011b0| 43 5a 48 45 54 48 35 41 | 5f 5f 48 45 50 4e 45 54 |CZHETH5A|__HEPNET|
|000011c0| 2f 43 48 41 44 4e 45 54 | 3a 5f 5b 32 30 35 37 39 |/CHADNET|:_[20579|
|000011d0| 3a 3a 5d 35 37 34 31 34 | 3a 3a 41 4c 4d 45 53 42 |::]57414|::ALMESB|
|000011e0| 45 52 47 45 52 5f 2f 0a | 0a 0a |ERGER_/.|.. |
+--------+-------------------------+-------------------------+--------+--------+